﻿using Cyotek.Drawing;

/* Finding nearest colors using Euclidean distance
 * https://www.cyotek.com/blog/finding-nearest-colors-using-euclidean-distance
 *
 * Copyright © 2017 Cyotek Ltd.
 */

namespace Cyotek.DitheringTest.Transforms
{
  internal sealed class SimpleIndexedPalettePixelTransform256 : SimpleIndexedPalettePixelTransform
  {
    #region Constructors

    public SimpleIndexedPalettePixelTransform256()
      : base(new[]
             {
               ArgbColor.FromArgb(0, 0, 0),
               ArgbColor.FromArgb(128, 0, 0),
               ArgbColor.FromArgb(0, 128, 0),
               ArgbColor.FromArgb(128, 128, 0),
               ArgbColor.FromArgb(0, 0, 128),
               ArgbColor.FromArgb(128, 0, 128),
               ArgbColor.FromArgb(0, 128, 128),
               ArgbColor.FromArgb(192, 192, 192),
               ArgbColor.FromArgb(128, 128, 128),
               ArgbColor.FromArgb(255, 0, 0),
               ArgbColor.FromArgb(0, 255, 0),
               ArgbColor.FromArgb(255, 255, 0),
               ArgbColor.FromArgb(0, 0, 255),
               ArgbColor.FromArgb(255, 0, 255),
               ArgbColor.FromArgb(0, 255, 255),
               ArgbColor.FromArgb(255, 255, 255),
               ArgbColor.FromArgb(25, 25, 25),
               ArgbColor.FromArgb(51, 51, 51),
               ArgbColor.FromArgb(76, 76, 76),
               ArgbColor.FromArgb(90, 90, 90),
               ArgbColor.FromArgb(102, 102, 102),
               ArgbColor.FromArgb(115, 115, 115),
               ArgbColor.FromArgb(128, 128, 128),
               ArgbColor.FromArgb(141, 141, 141),
               ArgbColor.FromArgb(153, 153, 153),
               ArgbColor.FromArgb(166, 166, 166),
               ArgbColor.FromArgb(178, 178, 178),
               ArgbColor.FromArgb(192, 192, 192),
               ArgbColor.FromArgb(204, 204, 204),
               ArgbColor.FromArgb(218, 218, 218),
               ArgbColor.FromArgb(230, 230, 230),
               ArgbColor.FromArgb(243, 243, 243),
               ArgbColor.FromArgb(63, 0, 0),
               ArgbColor.FromArgb(92, 0, 0),
               ArgbColor.FromArgb(120, 0, 0),
               ArgbColor.FromArgb(148, 0, 0),
               ArgbColor.FromArgb(177, 0, 0),
               ArgbColor.FromArgb(205, 0, 0),
               ArgbColor.FromArgb(233, 0, 0),
               ArgbColor.FromArgb(254, 7, 7),
               ArgbColor.FromArgb(255, 35, 35),
               ArgbColor.FromArgb(255, 63, 63),
               ArgbColor.FromArgb(255, 92, 92),
               ArgbColor.FromArgb(255, 120, 120),
               ArgbColor.FromArgb(254, 148, 148),
               ArgbColor.FromArgb(255, 177, 177),
               ArgbColor.FromArgb(254, 205, 205),
               ArgbColor.FromArgb(255, 233, 233),
               ArgbColor.FromArgb(63, 23, 0),
               ArgbColor.FromArgb(92, 34, 0),
               ArgbColor.FromArgb(120, 45, 0),
               ArgbColor.FromArgb(148, 55, 0),
               ArgbColor.FromArgb(177, 66, 0),
               ArgbColor.FromArgb(205, 77, 0),
               ArgbColor.FromArgb(233, 87, 0),
               ArgbColor.FromArgb(254, 100, 7),
               ArgbColor.FromArgb(255, 117, 35),
               ArgbColor.FromArgb(255, 135, 63),
               ArgbColor.FromArgb(255, 153, 92),
               ArgbColor.FromArgb(255, 170, 120),
               ArgbColor.FromArgb(254, 188, 148),
               ArgbColor.FromArgb(255, 206, 177),
               ArgbColor.FromArgb(254, 224, 205),
               ArgbColor.FromArgb(255, 241, 233),
               ArgbColor.FromArgb(63, 47, 0),
               ArgbColor.FromArgb(92, 69, 0),
               ArgbColor.FromArgb(120, 90, 0),
               ArgbColor.FromArgb(148, 111, 0),
               ArgbColor.FromArgb(177, 132, 0),
               ArgbColor.FromArgb(205, 154, 0),
               ArgbColor.FromArgb(233, 175, 0),
               ArgbColor.FromArgb(254, 193, 7),
               ArgbColor.FromArgb(255, 200, 35),
               ArgbColor.FromArgb(255, 207, 63),
               ArgbColor.FromArgb(255, 214, 92),
               ArgbColor.FromArgb(255, 221, 120),
               ArgbColor.FromArgb(254, 228, 148),
               ArgbColor.FromArgb(255, 235, 177),
               ArgbColor.FromArgb(254, 242, 205),
               ArgbColor.FromArgb(255, 249, 233),
               ArgbColor.FromArgb(55, 63, 0),
               ArgbColor.FromArgb(80, 92, 0),
               ArgbColor.FromArgb(105, 120, 0),
               ArgbColor.FromArgb(130, 148, 0),
               ArgbColor.FromArgb(154, 177, 0),
               ArgbColor.FromArgb(179, 205, 0),
               ArgbColor.FromArgb(204, 233, 0),
               ArgbColor.FromArgb(224, 254, 7),
               ArgbColor.FromArgb(227, 255, 35),
               ArgbColor.FromArgb(231, 255, 63),
               ArgbColor.FromArgb(234, 255, 92),
               ArgbColor.FromArgb(238, 255, 120),
               ArgbColor.FromArgb(241, 254, 148),
               ArgbColor.FromArgb(245, 255, 177),
               ArgbColor.FromArgb(248, 254, 205),
               ArgbColor.FromArgb(252, 255, 233),
               ArgbColor.FromArgb(31, 63, 0),
               ArgbColor.FromArgb(46, 92, 0),
               ArgbColor.FromArgb(60, 120, 0),
               ArgbColor.FromArgb(74, 148, 0),
               ArgbColor.FromArgb(88, 177, 0),
               ArgbColor.FromArgb(102, 205, 0),
               ArgbColor.FromArgb(116, 233, 0),
               ArgbColor.FromArgb(131, 254, 7),
               ArgbColor.FromArgb(145, 255, 35),
               ArgbColor.FromArgb(159, 255, 63),
               ArgbColor.FromArgb(173, 255, 92),
               ArgbColor.FromArgb(187, 255, 120),
               ArgbColor.FromArgb(201, 254, 148),
               ArgbColor.FromArgb(216, 255, 177),
               ArgbColor.FromArgb(230, 254, 205),
               ArgbColor.FromArgb(244, 255, 233),
               ArgbColor.FromArgb(7, 63, 0),
               ArgbColor.FromArgb(11, 92, 0),
               ArgbColor.FromArgb(15, 120, 0),
               ArgbColor.FromArgb(18, 148, 0),
               ArgbColor.FromArgb(22, 177, 0),
               ArgbColor.FromArgb(25, 205, 0),
               ArgbColor.FromArgb(29, 233, 0),
               ArgbColor.FromArgb(38, 254, 7),
               ArgbColor.FromArgb(62, 255, 35),
               ArgbColor.FromArgb(87, 255, 63),
               ArgbColor.FromArgb(112, 255, 92),
               ArgbColor.FromArgb(137, 255, 120),
               ArgbColor.FromArgb(162, 254, 148),
               ArgbColor.FromArgb(186, 255, 177),
               ArgbColor.FromArgb(211, 254, 205),
               ArgbColor.FromArgb(236, 255, 233),
               ArgbColor.FromArgb(0, 63, 15),
               ArgbColor.FromArgb(0, 92, 23),
               ArgbColor.FromArgb(0, 120, 30),
               ArgbColor.FromArgb(0, 148, 37),
               ArgbColor.FromArgb(0, 177, 44),
               ArgbColor.FromArgb(0, 205, 51),
               ArgbColor.FromArgb(0, 233, 58),
               ArgbColor.FromArgb(7, 254, 69),
               ArgbColor.FromArgb(35, 255, 90),
               ArgbColor.FromArgb(63, 255, 111),
               ArgbColor.FromArgb(92, 255, 132),
               ArgbColor.FromArgb(120, 255, 154),
               ArgbColor.FromArgb(148, 254, 175),
               ArgbColor.FromArgb(177, 255, 196),
               ArgbColor.FromArgb(205, 254, 217),
               ArgbColor.FromArgb(233, 255, 239),
               ArgbColor.FromArgb(0, 63, 39),
               ArgbColor.FromArgb(0, 92, 57),
               ArgbColor.FromArgb(0, 120, 75),
               ArgbColor.FromArgb(0, 148, 92),
               ArgbColor.FromArgb(0, 177, 110),
               ArgbColor.FromArgb(0, 205, 128),
               ArgbColor.FromArgb(0, 233, 146),
               ArgbColor.FromArgb(7, 254, 162),
               ArgbColor.FromArgb(35, 255, 172),
               ArgbColor.FromArgb(63, 255, 183),
               ArgbColor.FromArgb(92, 255, 193),
               ArgbColor.FromArgb(120, 255, 204),
               ArgbColor.FromArgb(148, 254, 215),
               ArgbColor.FromArgb(177, 255, 225),
               ArgbColor.FromArgb(205, 254, 236),
               ArgbColor.FromArgb(233, 255, 247),
               ArgbColor.FromArgb(0, 63, 63),
               ArgbColor.FromArgb(0, 92, 92),
               ArgbColor.FromArgb(0, 120, 120),
               ArgbColor.FromArgb(0, 148, 148),
               ArgbColor.FromArgb(0, 177, 177),
               ArgbColor.FromArgb(0, 205, 205),
               ArgbColor.FromArgb(0, 233, 233),
               ArgbColor.FromArgb(7, 254, 254),
               ArgbColor.FromArgb(35, 255, 255),
               ArgbColor.FromArgb(63, 255, 255),
               ArgbColor.FromArgb(92, 255, 255),
               ArgbColor.FromArgb(120, 255, 255),
               ArgbColor.FromArgb(148, 254, 254),
               ArgbColor.FromArgb(177, 255, 255),
               ArgbColor.FromArgb(205, 254, 254),
               ArgbColor.FromArgb(233, 255, 255),
               ArgbColor.FromArgb(0, 39, 63),
               ArgbColor.FromArgb(0, 57, 92),
               ArgbColor.FromArgb(0, 75, 120),
               ArgbColor.FromArgb(0, 92, 148),
               ArgbColor.FromArgb(0, 110, 177),
               ArgbColor.FromArgb(0, 128, 205),
               ArgbColor.FromArgb(0, 146, 233),
               ArgbColor.FromArgb(7, 162, 254),
               ArgbColor.FromArgb(35, 172, 255),
               ArgbColor.FromArgb(63, 183, 255),
               ArgbColor.FromArgb(92, 193, 255),
               ArgbColor.FromArgb(120, 204, 255),
               ArgbColor.FromArgb(148, 215, 254),
               ArgbColor.FromArgb(177, 225, 255),
               ArgbColor.FromArgb(205, 236, 254),
               ArgbColor.FromArgb(233, 247, 255),
               ArgbColor.FromArgb(0, 15, 63),
               ArgbColor.FromArgb(0, 23, 92),
               ArgbColor.FromArgb(0, 30, 120),
               ArgbColor.FromArgb(0, 37, 148),
               ArgbColor.FromArgb(0, 44, 177),
               ArgbColor.FromArgb(0, 51, 205),
               ArgbColor.FromArgb(0, 58, 233),
               ArgbColor.FromArgb(7, 69, 254),
               ArgbColor.FromArgb(35, 90, 255),
               ArgbColor.FromArgb(63, 111, 255),
               ArgbColor.FromArgb(92, 132, 255),
               ArgbColor.FromArgb(120, 154, 255),
               ArgbColor.FromArgb(148, 175, 254),
               ArgbColor.FromArgb(177, 196, 255),
               ArgbColor.FromArgb(205, 217, 254),
               ArgbColor.FromArgb(233, 239, 255),
               ArgbColor.FromArgb(7, 0, 63),
               ArgbColor.FromArgb(11, 0, 92),
               ArgbColor.FromArgb(15, 0, 120),
               ArgbColor.FromArgb(18, 0, 148),
               ArgbColor.FromArgb(22, 0, 177),
               ArgbColor.FromArgb(25, 0, 205),
               ArgbColor.FromArgb(29, 0, 233),
               ArgbColor.FromArgb(38, 7, 254),
               ArgbColor.FromArgb(62, 35, 255),
               ArgbColor.FromArgb(87, 63, 255),
               ArgbColor.FromArgb(112, 92, 255),
               ArgbColor.FromArgb(137, 120, 255),
               ArgbColor.FromArgb(162, 148, 254),
               ArgbColor.FromArgb(186, 177, 255),
               ArgbColor.FromArgb(211, 205, 254),
               ArgbColor.FromArgb(236, 233, 255),
               ArgbColor.FromArgb(31, 0, 63),
               ArgbColor.FromArgb(46, 0, 92),
               ArgbColor.FromArgb(60, 0, 120),
               ArgbColor.FromArgb(74, 0, 148),
               ArgbColor.FromArgb(88, 0, 177),
               ArgbColor.FromArgb(102, 0, 205),
               ArgbColor.FromArgb(116, 0, 233),
               ArgbColor.FromArgb(131, 7, 254),
               ArgbColor.FromArgb(145, 35, 255),
               ArgbColor.FromArgb(159, 63, 255),
               ArgbColor.FromArgb(173, 92, 255),
               ArgbColor.FromArgb(187, 120, 255),
               ArgbColor.FromArgb(201, 148, 254),
               ArgbColor.FromArgb(216, 177, 255),
               ArgbColor.FromArgb(230, 205, 254),
               ArgbColor.FromArgb(244, 233, 255),
               ArgbColor.FromArgb(55, 0, 63),
               ArgbColor.FromArgb(80, 0, 92),
               ArgbColor.FromArgb(105, 0, 120),
               ArgbColor.FromArgb(130, 0, 148),
               ArgbColor.FromArgb(154, 0, 177),
               ArgbColor.FromArgb(179, 0, 205),
               ArgbColor.FromArgb(204, 0, 233),
               ArgbColor.FromArgb(224, 7, 254),
               ArgbColor.FromArgb(227, 35, 255),
               ArgbColor.FromArgb(231, 63, 255),
               ArgbColor.FromArgb(234, 92, 255),
               ArgbColor.FromArgb(238, 120, 255),
               ArgbColor.FromArgb(241, 148, 254),
               ArgbColor.FromArgb(245, 177, 255),
               ArgbColor.FromArgb(248, 205, 254),
               ArgbColor.FromArgb(252, 233, 255)
             })
    { }

    #endregion
  }
}
